59110 A$ = INKEY$ : IF A$ = "" THEN 59110 ELSE A=ASC(A$) ELSE IF LEN(A$)=2 THEN 59200
59120 IF A=8 AND DATE<>1 OR A=8 AND DATE=1 AND LEN(BUFFER$)=1 OR A=8 AND DATE=1 AND LEN(BUFFER$)=4 OR A=8 AND DATE=1 AND LEN(BUFFER$)=7 OR A<>8 THEN 59130 ELSE BUFFER$=LEFT$(BUFFER$,LEN(BUFFER$)-2):GOTO 59090
59130 IF A<>8 THEN 59140 ELSE BUFFER$=LEFT$(BUFFER$,LEN(BUFFER$)-1):GOTO 59090
59140 IF A<>13 AND LEN(BUFFER$) = LENGTH THEN BEEP:GOTO 59110
59150 IF A=13 THEN 59270
59160 IF NUMERIC THEN IF A>46 AND A<58 AND A<>47 THEN BUFFER$ = BUFFER$ + A$ : IF DATE THEN IF LEN(BUFFER$) = 2 OR LEN(BUFFER$) = 5 THEN BUFFER$ = BUFFER$ + "/" : GOTO 59090 : ELSE GOTO 59090 : ELSE GOTO 59090 : ELSE GOTO 59090
59170 IF A>96 AND A<123 THEN A=ASC(A$)-32 : A$=CHR$(A)
59180 IF A>31 AND A<127 THEN BUFFER$=BUFFER$ + A$ : GOTO 59090 ELSE GOTO 59090